home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clx.lha / clx / debug / describe.l < prev    next >
Lisp/Scheme  |  1988-09-12  |  25KB  |  1,244 lines

  1. ;;; -*- Mode: Lisp; Package: XLIB; Syntax: COMMON-LISP; Base: 10; Lowercase: Yes; -*-
  2.  
  3. ;;; Describe X11 protocol requests
  4.  
  5. ;;;
  6. ;;;             TEXAS INSTRUMENTS INCORPORATED
  7. ;;;                  P.O. BOX 2909
  8. ;;;                   AUSTIN, TEXAS 78769
  9. ;;;
  10. ;;; Copyright (C) 1987 Texas Instruments Incorporated.
  11. ;;;
  12. ;;; Permission is granted to any individual or institution to use, copy, modify,
  13. ;;; and distribute this software, provided that this complete copyright and
  14. ;;; permission notice is maintained, intact, in all copies and supporting
  15. ;;; documentation.
  16. ;;;
  17. ;;; Texas Instruments Incorporated provides this software "as is" without
  18. ;;; express or implied warranty.
  19. ;;;
  20.  
  21. ;;; Created 07/15/87 by LaMott G. OREN
  22.  
  23. (in-package "XLIB" :use '("LISP"))
  24.  
  25. (defparameter *request-parameters* (make-array (length *request-names*)))
  26.  
  27. (defmacro x-request (name &rest fields)
  28.   (unless (zerop (mod (length fields) 3))
  29.     (format t "~%Field length not a multiple of 3 for ~a" name))
  30.   (let ((request (position name *request-names* :test #'zetalisp:string-equal)))
  31.      (if request
  32.      `(setf (aref *request-parameters* ,request) ',fields)
  33.        `(format t "~%~s isn't an X11 request name" ',name))))
  34.  
  35. (defun print-history-description (buffer &optional (start 0))
  36.   ;; Display an output history
  37.   (reading-event (buffer)
  38.     (LET ((request (card8-get start))
  39.       (LENGTH (* 4 (card16-get (+ start 2))))
  40.       (margin 5))
  41.       (format t "~a (~d) length ~d"
  42.           (request-name request) request length)
  43.       (WHEN (>= request (LENGTH *request-parameters*))
  44.     (SETQ request 0))
  45.       (do ((parms (aref *request-parameters* request) (cdddr parms))
  46.        (j start))      
  47.       ((OR (endp parms) (>= j length)))
  48.     (let ((len (first parms))
  49.           (type (second parms))
  50.           (doc (third parms))
  51.           value)
  52.       (setq value (case len
  53.             (1 (card8-get j))
  54.             (2 (card16-get j))
  55.             (4 (card32-get j))))
  56.       (FORMAT t "~%~v@t" margin)
  57.       (if value
  58.           (PROGN
  59.         (print-value j value type doc)
  60.              (incf j len))
  61.         (PROGN 
  62.           (format t "~2d ~10a ~a"
  63.               j type doc)
  64.           (case type
  65.         ((listofvalue listofcard32 listofatom)
  66.          (format t " Words:~%~v@t" margin)
  67.          (dotimes (k (floor (- length (- j start)) 4))
  68.            (format t " ~d" (card32-get j))
  69.            (incf j 4)))
  70.         (listofrectangle
  71.          (format t " Half-Words:~%~v@t" margin)
  72.          (dotimes (k (floor (- length (- j start)) 2))
  73.            (format t " ~d" (card16-get j))
  74.            (incf j 2)))
  75.         (x (WHEN (INTEGERP len) (INCF j len)))    ; Unused
  76.         (STRING8
  77.          (format t " Bytes:~%~v@t" margin)
  78.          (dotimes (k (- length (- j start)))
  79.            (format t "~a" (INT-CHAR (card8-get j)))
  80.            (incf j)))
  81.         (otherwise
  82.          (format t " Bytes:~%~v@t" margin)
  83.          (dotimes (k (- length (- j start)))
  84.            (format t " ~d" (card8-get j))
  85.            (incf j)))))))))))
  86.  
  87. (defun print-value (i value type doc &aux temp)
  88.   (format t "~2d ~3d " i value)
  89.   (if (consp type)
  90.       (case (first type)
  91.     (bitmask (format t "~a" (decode-mask (symbol-value (second type)) value))
  92.          (setq type (car type)))
  93.     (member (if (null (setq temp (nth value (cdr type))))
  94.             (format t "*****ERROR*****")
  95.           (format t "~a" temp)
  96.           (setq type (car type)))))
  97.     (case type
  98.       ((window pixmap drawable cursor font gcontext colormap atom)
  99.        (format t "[#x~x]" value)
  100.        #+comment
  101.        (let ((temp (lookup-resource-id display value)))
  102.      (when (eq (first type) 'atom)
  103.        (setq temp (lookup-xatom display value)))
  104.      (when temp (format t " (~s)" (type-of temp)))))
  105.       (int16 (setq temp (card16->int16 value))
  106.          (when (minusp temp) (format t "~d" temp)))
  107.       (otherwise
  108.        (when (and (numberp type) (not (= type value)))
  109.      (format t "*****ERROR*****")))))
  110.   (format t "~30,10t ~10a ~a" type doc))
  111.  
  112. (x-request Error
  113.    1    1            opcode
  114.    1    CARD8            data
  115.    2    8+n            request-length
  116.    n    LISTofBYTE        data
  117.    )
  118.  
  119. (x-request CreateWindow
  120.    1    1            opcode
  121.    1    CARD8            depth
  122.    2    8+n            request-length
  123.    4    WINDOW            wid
  124.    4    WINDOW            parent
  125.    2    INT16            x
  126.    2    INT16            y
  127.    2    CARD16            width
  128.    2    CARD16            height
  129.    2    CARD16            border-width
  130.    2    (MEMBER CopyFromParent InputOutput InputOnly) class
  131.    4    (OR (MEMBER CopyFromParent) VISUALID)        visual
  132.    4    (BITMASK *create-bitmask*) value-mask
  133.   4n    LISTofVALUE        value-list
  134.   )
  135.  
  136. (DEFPARAMETER *create-bitmask*
  137.           #(background-pixmap background-pixel border-pixmap border-pixel bit-gravity
  138.         win-gravity backing-store backing-planes backing-pixel override-redirect
  139.         save-under event-mask do-not-propagate-mask colormap cursor))
  140.  
  141. (x-request ChangeWindowAttributes
  142.    1    2            opcode
  143.    1    x            unused
  144.    2    3+n            request-length
  145.    4    WINDOW            window
  146.    4    (BITMASK *create-bitmask*) value-mask
  147.   4n    LISTofVALUE        value-list
  148.   )
  149.  
  150. (x-request GetWindowAttributes
  151.    1    3            opcode
  152.    1    x            unused
  153.    2    2            request-length
  154.    4    WINDOW            window
  155. )
  156.  
  157. (x-request DestroyWindow
  158.    1    4            opcode
  159.    1    x            unused
  160.    2    2            request-length
  161.    4    WINDOW            window
  162. )
  163.  
  164. (x-request DestroySubwindows
  165.    1    5            opcode
  166.    1    x            unused
  167.    2    2            request-length
  168.    4    WINDOW            window
  169. )
  170.  
  171. (x-request ChangeSaveSet
  172.    1    6            opcode
  173.    1    (MEMBER insert delete)    mode
  174.    2    2            request-length
  175.    4    WINDOW            window
  176. )
  177.  
  178. (x-request ReparentWindow
  179.   1    7            opcode
  180.    1    x            unused
  181.    2    4            request-length
  182.    4    WINDOW            window
  183.    4    WINDOW            parent
  184.    2    INT16            x
  185.    2    INT16            y
  186. )
  187.  
  188. (x-request MapWindow
  189.    1    8            opcode
  190.    1    x            unused
  191.    2    2            request-length
  192.    4    WINDOW            window
  193. )
  194.  
  195. (x-request MapSubwindows
  196.    1    9            opcode
  197.    1    x            unused
  198.    2    2            request-length
  199.    4    WINDOW            window
  200. )
  201.  
  202. (x-request UnmapWindow
  203.    1    10            opcode
  204.    1    x            unused
  205.    2    2            request-length
  206.    4    WINDOW            window
  207. )
  208.  
  209. (x-request UnmapSubwindows
  210.    1    11            opcode
  211.    1    x            unused
  212.    2    2            request-length
  213.    4    WINDOW            window
  214. )
  215.  
  216. (x-request ConfigureWindow
  217.    1    12            opcode
  218.    1    x            unused
  219.    2    3+n            request-length
  220.    4    WINDOW            window
  221.    2    BITMASK            value-mask
  222.    2    x            unused
  223.   4n    LISTofVALUE        value-list
  224. )
  225.  
  226. (x-request CirculateWindow
  227.    1    13            opcode
  228.    1    (MEMBER RaiseLowest LowerHighest) direction
  229.    2    2            request-length
  230.    4    WINDOW            window
  231. )
  232.  
  233. (x-request GetGeometry
  234.    1    14            opcode
  235.    1    x            unused
  236.    2    2            request-length
  237.    4    DRAWABLE        drawable
  238. )
  239.  
  240. (x-request QueryTree
  241.    1    15            opcode
  242.    1    x            unused
  243.    2    2            request-length
  244.    4    WINDOW            window
  245. )
  246.  
  247. (x-request InternAtom
  248.    1    16            opcode
  249.    1    BOOL            only-if-exists
  250.    2    |2+(n+p)/4|        request-length
  251.    2    n            length-of-name
  252.    2    x            unused
  253.    n    STRING8            name
  254.    p    x            unused
  255. )
  256.  
  257. (x-request GetAtomName
  258.    1    17            opcode
  259.    1    x            unused
  260.    2    2            request-length
  261.    4    ATOM            atom
  262. )
  263.  
  264. (x-request ChangeProperty
  265.    1    18            opcode
  266.    1    (MEMBER replace prepend append)    mode
  267.    2    |6+(n+p)/4|        request-length
  268.    4    WINDOW            window
  269.    4    ATOM            property
  270.    4    ATOM            type
  271.    1    CARD8            format
  272.    3    x            unused
  273.    4    CARD32            length-of-data-in-format-units
  274.    n    LISTofBYTE        data
  275.    p    x            unused
  276. )
  277.  
  278. (x-request DeleteProperty
  279.    1    19            opcode
  280.    1    x            unused
  281.    2    3            request-length
  282.    4    WINDOW            window
  283.    4    ATOM            property
  284. )
  285.  
  286. (x-request GetProperty
  287.    1    20            opcode
  288.    1    BOOL            delete
  289.    2    6            request-length
  290.    4    WINDOW            window
  291.    4    ATOM            property
  292.    4    (OR (MEMBER anypropertytype) ATOM) type
  293.    4    CARD32            long-offset
  294.    4    CARD32            long-length
  295. )
  296.  
  297. (x-request ListProperties
  298.    1    21            opcode
  299.    1    x            unused
  300.    2    2            request-length
  301.    4    WINDOW            window
  302. )
  303.  
  304. (x-request SetSelectionOwner
  305.    1    22            opcode
  306.    1    x            unused
  307.    2    4            request-length
  308.    4    (OR (MEMBER none) WINDOW) owner
  309.    4    ATOM            selection
  310.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  311. )
  312.  
  313. (x-request GetSelectionOwner
  314.    1    23            opcode
  315.    1    x            unused
  316.    2    2            request-length
  317.    4    ATOM            selection
  318. )
  319.  
  320. (x-request ConvertSelection
  321.    1    24            opcode
  322.    1    x            unused
  323.    2    6            request-length
  324.    4    WINDOW            requestor
  325.    4    ATOM            selection
  326.    4    ATOM            target
  327.    4    (OR (MEMBER none) ATOM)    property
  328.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  329. )
  330.  
  331. (x-request SendEvent
  332.    1    25            opcode
  333.    1    BOOL            propagate
  334.    2    11            request-length
  335.    4    (OR (MEMBER pointerwindow inputfocus) WINDOW) destination
  336.    4    SETofEVENT        event-mask
  337.   32    n            event
  338. )
  339.  
  340. (x-request GrabPointer
  341.    1    26            opcode
  342.    1    BOOL            owner-events
  343.    2    6            request-length
  344.    4    WINDOW            grab-window
  345.    2    SETofPOINTEREVENT    event-mask
  346.    1    (MEMBER Synchronous Asynchronous) pointer-mode
  347.    1    (MEMBER Synchronous Asynchronous) keyboard-mode
  348.    4    (OR (MEMBER none) WINDOW) confine-to
  349.    4    (OR (MEMBER none) CURSOR) cursor
  350.    4    (OR (MEMBER currenttime) TIMESTAMP) timestamp
  351. )
  352.  
  353. (x-request UngrabPointer
  354.    1    27            opcode
  355.    1    x            unused
  356.    2    2            request-length
  357.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  358. )
  359.  
  360. (x-request GrabButton
  361.    1    28            opcode
  362.    1    BOOL            owner-events
  363.    2    6            request-length
  364.    4    WINDOW            grab-window
  365.    2    SETofPOINTEREVENT    event-mask
  366.    1    (MEMBER Synchronous Asynchronous) pointer-mode
  367.    1    (MEMBER Synchronous Asynchronous) keyboard-mode
  368.    4    (OR (MEMBER none) WINDOW) confine-to
  369.    4    (OR (MEMBER none) CURSOR) cursor
  370.    1    (OR (MEMBER anybutton) BUTTON)button
  371.    1    x            unused
  372.    2    SETofKEYMASK        modifiers
  373. )
  374.  
  375. (x-request UngrabButton
  376.    1    29            opcode
  377.    1    (OR (MEMBER anybutton) BUTTON) button
  378.    2    3            request-length
  379.    4    WINDOW            grab-window
  380.    2    SETofKEYMASK        modifiers
  381.    2    x            unused
  382. )
  383.  
  384. (x-request ChangeActivePointerGrab
  385.    1    30            opcode
  386.    1    x            unused
  387.    2    4            request-length
  388.    4    (OR (MEMBER none) CURSOR) cursor
  389.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  390.    2    SETofPOINTEREVENT    event-mask
  391.    2    x            unused
  392. )
  393.  
  394. (x-request GrabKeyboard
  395.    1    31            opcode
  396.    1    BOOL            owner-events
  397.    2    4            request-length
  398.    4    WINDOW            grab-window
  399.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  400.    1    (MEMBER Synchronous Asynchronous) pointer-mode
  401.    1    (MEMBER Synchronous Asynchronous) keyboard-mode
  402.    2    x            unused
  403. )
  404.  
  405. (x-request UngrabKeyboard
  406.    1    32            opcode
  407.    1    x            unused
  408.    2    2            request-length
  409.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  410. )
  411.  
  412. (x-request GrabKey
  413.    1    33            opcode
  414.    1    BOOL            owner-events
  415.    2    4            request-length
  416.    4    WINDOW            grab-window
  417.    2    SETofKEYMASK        modifiers
  418.    1    (OR (MEMBER anykey) KEYCODE) key
  419.    1    (MEMBER Synchronous Asynchronous) pointer-mode
  420.    1    (MEMBER Synchronous Asynchronous) keyboard-mode
  421.    3    x            unused
  422. )
  423.  
  424. (x-request UngrabKey
  425.    1    34            opcode
  426.    1    (OR (MEMBER anykey) KEYCODE) key
  427.    2    3            request-length
  428.    4    WINDOW            grab-window
  429.    2    SETofKEYMASK        modifiers
  430.    2    x            unused
  431. )
  432.  
  433. (x-request AllowEvents
  434.    1    35            opcode
  435.    1    (MEMBER AsyncPointer SyncPointer ReplayPointer AsyncKeyboard SyncKeyboard ReplayKeyboard) mode
  436.    2    2            request-length
  437.    4    (OR (MEMBER currenttime) TIMESTAMP) time
  438. )
  439.  
  440. (x-request GrabServer
  441.    1    36            opcode
  442.    1    x            unused
  443.    2    1            request-length
  444. )
  445.  
  446. (x-request UngrabServer
  447.    1    37            opcode
  448.    1    x            unused
  449.    2    1            request-length
  450. )
  451.  
  452. (x-request QueryPointer
  453.    1    38            opcode
  454.    1    x            unused
  455.    2    2            request-length
  456.    4    WINDOW            window
  457. )
  458.  
  459. (x-request GetMotionEvents
  460.    1    39            opcode
  461.    1    x            unused
  462.    2    4            request-length
  463.    4    WINDOW            window
  464.    4    (OR (MEMBER CURRENTTIME) TIMESTAMP)        start
  465.    4    (OR (MEMBER CURRENTTIME) TIMESTAMP)        stop
  466. )
  467.  
  468. (x-request TranslateCoords
  469.    1    40            opcode
  470.    1    x            unused
  471.    2    4            request-length
  472.    4    WINDOW            src-window
  473.    4    WINDOW            dst-window
  474.    2    INT16            src-x
  475.    2    INT16            src-y
  476. )
  477.  
  478. (x-request WarpPointer
  479.    1    41            opcode
  480.    1    x            unused
  481.    2    6            request-length
  482.    4    (OR (MEMBER none) WINDOW)            src-window
  483.    4    WINDOW            dst-window
  484.    2    INT16            src-x
  485.    2    INT16            src-y
  486.    2    CARD16            src-width
  487.    2    CARD16            src-height
  488.    2    INT16            dst-x
  489.    2    INT16            dst-y
  490. )
  491.  
  492. (x-request SetInputFocus
  493.    1    42            opcode
  494.    1    (MEMBER none pointerroot parent) revert-to
  495.    2    3            request-length
  496.    4    (OR (MEMBER none pointerroot) WINDOW) focus
  497.    4    (OR (MEMBER CURRENTTIME) TIMESTAMP)        time
  498. )
  499.  
  500. (x-request GetInputFocus
  501.    1    43            opcode
  502.    1    x            unused
  503.    2    1            request-length
  504. )
  505.  
  506. (x-request QueryKeymap
  507.    1    44            opcode
  508.    1    x            unused
  509.    2    1            request-length
  510. )
  511.  
  512. (x-request OpenFont
  513.    1    45            opcode
  514.    1    x            unused
  515.    2    |3+(n+p)/4|        request-length
  516.    4    FONT            fid
  517.    2    n            length-of-name
  518.    2    x            unused
  519.    n    STRING8            name
  520.    p    x            unused
  521. )
  522.  
  523. (x-request CloseFont
  524.    1    46            opcode
  525.    1    x            unused
  526.    2    2            request-length
  527.    4    FONT            font
  528. )
  529.  
  530. (x-request QueryFont
  531.    1    47            opcode
  532.    1    x            unused
  533.    2    2            request-length
  534.    4    FONTABLE        font
  535. )
  536.  
  537. (x-request QueryTextExtents
  538.    1    48            opcode
  539.    1    BOOL            odd-length-p
  540.    2    |2+(2n+p)/4|        request-length
  541.    4    FONTABLE        font
  542.   2n    STRING16        string
  543.    p    x            unused
  544. )
  545.  
  546. (x-request ListFonts
  547.    1    49            opcode
  548.    1    x            unused
  549.    2    |2+(n+p)/4|        request-length
  550.    2    CARD16            max-names
  551.    2    n            length-of-pattern
  552.    n    STRING8            pattern
  553.    p    x            unused
  554. )
  555.  
  556. (x-request ListFontsWithInfo
  557.    1    50            opcode
  558.    1    x            unused
  559.    2    |2+(n+p)/4|        request-length
  560.    2    CARD16            max-names
  561.    2    n            length-of-pattern
  562.    n    STRING8            pattern
  563.    p    x            unused
  564. )
  565.  
  566. (x-request SetFontPath
  567.    1    51            opcode
  568.    1    x            unused
  569.    2    |2+(n+p)/4|        request-length
  570.    2    CARD16            number-of-STRs-in-path
  571.    2    x            unused
  572.    n    LISTofSTR        path
  573.    p    x            unused
  574. )
  575.  
  576. (x-request GetFontPath
  577.    1    52            opcode
  578.    1    x            unused
  579.    2    1            request-list
  580. )
  581.  
  582. (x-request CreatePixmap
  583.    1    53            opcode
  584.    1    CARD8            depth
  585.    2    4            request-length
  586.    4    PIXMAP            pid
  587.    4    DRAWABLE        drawable
  588.    2    CARD16            width
  589.    2    CARD16            height
  590. )
  591.  
  592. (x-request FreePixmap
  593.    1    54            opcode
  594.    1    x            unused
  595.    2    2            request-length
  596.    4    PIXMAP            pixmap
  597. )
  598.  
  599. (x-request CreateGC
  600.    1    55            opcode
  601.    1    x            unused
  602.    2    4+n            request-length
  603.    4    GCONTEXT        cid
  604.    4    DRAWABLE        drawable
  605.    4    (BITMASK *gc-bitmask*)    value-mask
  606.   4n    LISTofVALUE        value-list
  607. )
  608.  
  609. (DEFCONSTANT *gc-bitmask*
  610.          #(function plane-mask foreground
  611.            background line-width line-style cap-style join-style
  612.            fill-style fill-rule tile stipple tile-stipple-x-origin
  613.            tile-stipple-y-origin font subwindow-mode graphics-exposures clip-x-origin
  614.            clip-y-origin clip-mask dash-offset dashes arc-mode))
  615.  
  616.  
  617. (x-request ChangeGC
  618.    1    56            opcode
  619.    1    x            unused
  620.    2    3+n            request-length
  621.    4    GCONTEXT        gc
  622.    4    (BITMASK *gc-bitmask*)    value-mask
  623.   4n    LISTofVALUE        value-list
  624. )
  625.  
  626. (x-request CopyGC
  627.    1    57            opcode
  628.    1    x            unused
  629.    2    4            request-length
  630.    4    GCONTEXT        src-gc
  631.    4    GCONTEXT        dst-gc
  632.    4    (BITMASK *gc-bitmask*)    value-mask
  633. )
  634.  
  635. (x-request SetDashes
  636.    1    58            opcode
  637.    1    x            unused
  638.    2    |3+(n+p)/4|        request-length
  639.    4    GCONTEXT        gc
  640.    2    CARD16            dash-offset
  641.    2    n            length-of-dashes
  642.    n    LISTofCARD8        dashes
  643.    p    x            unused
  644. )
  645.  
  646. (x-request SetClipRectangles
  647.    1    59            opcode
  648.    1    (MEMBER UnSorted YSorted YXSorted YXBanded) ordering
  649.    2    3+2n            request-length
  650.    4    GCONTEXT        gc
  651.    2    INT16            clip-x-origin
  652.    2    INT16            clip-y-origin
  653.   8n    LISTofRECTANGLE        rectangles
  654. )
  655.  
  656. (x-request FreeGC
  657.    1    60            opcode
  658.    1    x            unused
  659.    2    2            request-length
  660.    4    GCONTEXT        gc
  661. )
  662.  
  663. (x-request ClearToBackground
  664.    1    61            opcode
  665.    1    BOOL            exposures
  666.    2    4            request-length
  667.    4    WINDOW            window
  668.    2    INT16            x
  669.    2    INT16            y
  670.    2    CARD16            width
  671.    2    CARD16            height
  672. )
  673.  
  674. (x-request CopyArea
  675.    1    62            opcode
  676.    1    x            unused
  677.    2    7            request-length
  678.    4    DRAWABLE        src-drawable
  679.    4    DRAWABLE        dst-drawable
  680.    4    GCONTEXT        gc
  681.    2    INT16            src-x
  682.    2    INT16            src-y
  683.    2    INT16            dst-x
  684.    2    INT16            dst-y
  685.    2    CARD16            width
  686.    2    CARD16            height
  687. )
  688.  
  689. (x-request CopyPlane
  690.    1    63            opcode
  691.    1    x            unused
  692.    2    8            request-length
  693.    4    DRAWABLE        src-drawable
  694.    4    DRAWABLE        dst-drawable
  695.    4    GCONTEXT        gc
  696.    2    INT16            src-x
  697.    2    INT16            src-y
  698.    2    INT16            dst-x
  699.    2    INT16            dst-y
  700.    2    CARD16            width
  701.    2    CARD16            height
  702.    4    CARD32            bit-plane
  703. )
  704.  
  705. (x-request PolyPoint
  706.    1    64            opcode
  707.    1    (MEMBER origin previous) coordinate-mode
  708.    2    3+n            request-length
  709.    4    DRAWABLE        drawable
  710.    4    GCONTEXT        gc
  711.   4n    LISTofPOINT        points
  712. )
  713.  
  714. (x-request PolyLine
  715.    1    65            opcode
  716.    1    (MEMBER origin previous) coordinate-mode
  717.    2    3+n            request-length
  718.    4    DRAWABLE        drawable
  719.    4    GCONTEXT        gc
  720.   4n    LISTofPOINT        points
  721. )
  722.  
  723. (x-request PolySegment
  724.    1    66            opcode
  725.    1    x            unused
  726.    2    3+2n            request-length
  727.    4    DRAWABLE        drawable
  728.    4    GCONTEXT        gc
  729.   8n    LISTofSEGMENT        segments
  730. )
  731.  
  732. (x-request PolyRectangle
  733.    1    67            opcode
  734.    1    x            unused
  735.    2    3+2n            request-length
  736.    4    DRAWABLE        drawable
  737.    4    GCONTEXT        gc
  738.   8n    LISTofRECTANGLE        rectangles
  739. )
  740.  
  741. (x-request PolyArc
  742.    1    68            opcode
  743.    1    x            unused
  744.    2    3+3n            request-length
  745.    4    DRAWABLE        drawable
  746.    4    GCONTEXT        gc
  747.  12n    LISTofARC        arcs
  748. )
  749.  
  750. (x-request FillPoly
  751.    1    69            opcode
  752.    1    x            unused
  753.    2    4+n            request-length
  754.    4    DRAWABLE        drawable
  755.    4    GCONTEXT        gc
  756.    1    (MEMBER complex nonconvex convex) shape
  757.    1    (MEMBER origin previous) coordinate-mode
  758.    2    x            unused
  759.   4n    LISTofPOINT        points
  760. )
  761.  
  762. (x-request PolyFillRectangle
  763.    1    70            opcode
  764.    1    x            unused
  765.    2    3+2n            request-length
  766.    4    DRAWABLE        drawable
  767.    4    GCONTEXT        gc
  768.   8n    LISTofRECTANGLE        rectangles
  769. )
  770.  
  771. (x-request PolyFillArc
  772.    1    71            opcode
  773.    1    x            unused
  774.    2    3+3n            request-length
  775.    4    DRAWABLE        drawable
  776.    4    GCONTEXT        gc
  777.  12n    LISTofARC        arcs
  778. )
  779.  
  780. (x-request PutImage
  781.    1    72            opcode
  782.    1    (bitmap xypixmap zpixmap) format
  783.    2    |6+(n+p)/4|        request-length
  784.    4    DRAWABLE        drawable
  785.    4    GCONTEXT        gc
  786.    2    CARD16            width
  787.    2    CARD16            height
  788.    2    INT16            dst-x
  789.    2    INT16            dst-y
  790.    1    CARD8            left-pad
  791.    1    CARD8            depth
  792.    2    x            unused
  793.    n    LISTofBYTE        data
  794.    p    x            unused
  795. )
  796.  
  797. (x-request GetImage
  798.    1    73            opcode
  799.    1    (MEMBER error xypixmap zpixmap)    format
  800.    2    5            request-length
  801.    4    DRAWABLE        drawable
  802.    2    INT16            x
  803.    2    INT16            y
  804.    2    CARD16            width
  805.    2    CARD16            height
  806.    4    CARD32            plane-mask
  807. )
  808.  
  809. (x-request PolyText8
  810.    1    74            opcode
  811.    1    x            unused
  812.    2    |4+(n+p)/4|        request-length
  813.    4    DRAWABLE        drawable
  814.    4    GCONTEXT        gc
  815.    2    INT16            x
  816.    2    INT16            y
  817.    n    LISTofTEXTITEM8        items
  818.    p    x            unused
  819. )
  820.  
  821. (x-request PolyText16
  822.    1    75            opcode
  823.    1    x            unused
  824.    2    |4+(n+p)/4|        request-length
  825.    4    DRAWABLE        drawable
  826.    4    GCONTEXT        gc
  827.    2    INT16            x
  828.    2    INT16            y
  829.    n    LISTofTEXTITEM16    items
  830.    p    x            unused
  831. )
  832.  
  833. (x-request ImageText8
  834.    1    76            opcode
  835.    1    n            length-of-string
  836.    2    |4+(n+p)/4|        request-length
  837.    4    DRAWABLE        drawable
  838.    4    GCONTEXT        gc
  839.    2    INT16            x
  840.    2    INT16            y
  841.    n    STRING8            string
  842.    p    x            unused
  843. )
  844.  
  845. (x-request ImageText16
  846.    1    77            opcode
  847.    1    n            number-of-CHAR2Bs-in-string
  848.    2    |4+(2n+p)/4|        request-length
  849.    4    DRAWABLE        drawable
  850.    4    GCONTEXT        gc
  851.    2    INT16            x
  852.    2    INT16            y
  853.   2n    STRING16        string
  854.    p    x            unused
  855. )
  856.  
  857. (x-request CreateColormap
  858.    1    78            opcode
  859.    1    (MEMBER none all)    alloc
  860.    2    4            request-length
  861.    4    COLORMAP        mid
  862.    4    WINDOW            window
  863.    4    VISUALID        visual
  864. )
  865.  
  866. (x-request FreeColormap
  867.    1    79            opcode
  868.    1    x            unused
  869.    2    2            request-length
  870.    4    COLORMAP        cmap
  871. )
  872.  
  873. (x-request CopyColormapAndFree
  874.    1    80            opcode
  875.    1    x            unused
  876.    2    3            request-length
  877.    4    COLORMAP        mid
  878.    4    COLORMAP        src-cmap
  879. )
  880.  
  881. (x-request InstallColormap
  882.    1    81            opcode
  883.    1    x            unused
  884.    2    2            request-length
  885.    4    COLORMAP        cmap
  886. )
  887.  
  888. (x-request UninstallColormap
  889.    1    82            opcode
  890.    1    x            unused
  891.    2    2            request-length
  892.    4    COLORMAP        cmap
  893. )
  894.  
  895. (x-request ListInstalledColormaps
  896.    1    83            opcode
  897.    1    x            unused
  898.    2    2            request-length
  899.    4    WINDOW            window
  900. )
  901.  
  902. (x-request AllocColor
  903.    1    84            opcode
  904.    1    x            unused
  905.    2    4            request-length
  906.    4    COLORMAP        cmap
  907.    2    CARD16            red
  908.    2    CARD16            green
  909.    2    CARD16            blue
  910.    2    x            unused
  911. )
  912.  
  913. (x-request AllocNamedColor
  914.    1    85            opcode
  915.    1    x            unused
  916.    2    |3+(n+p)/4|        request-length
  917.    4    COLORMAP        cmap
  918.    2    n            length-of-name
  919.    2    x            unused
  920.    n    STRING8            name
  921.    p    x            unused
  922. )
  923.  
  924. (x-request AllocColorCells
  925.    1    86            opcode
  926.    1    BOOL            contiguous
  927.    2    3            request-length
  928.    4    COLORMAP        cmap
  929.    2    CARD16            colors
  930.    2    CARD16            planes
  931. )
  932.  
  933. (x-request AllocColorPlanes
  934.    1    87            opcode
  935.    1    BOOL            contiguous
  936.    2    4            request-length
  937.    4    COLORMAP        cmap
  938.    2    CARD16            colors
  939.    2    CARD16            reds
  940.    2    CARD16            greens
  941.    2    CARD16            blues
  942. )
  943.  
  944. (x-request FreeColors
  945.    1    88            opcode
  946.    1    x            unused
  947.    2    3+n            request-length
  948.    4    COLORMAP        cmap
  949.    4    CARD32            plane-mask
  950.   4n    LISTofCARD32        pixels
  951. )
  952.  
  953. (x-request StoreColors
  954.    1    89            opcode
  955.    1    x            unused
  956.    2    2+3n            request-length
  957.    4    COLORMAP        cmap
  958.  12n    LISTofCOLORITEM        items
  959. )
  960.  
  961. (x-request StoreNamedColor
  962.    1    90            opcode
  963.    1    color-mask        do-red_do-green_do-blue
  964.    2    |4+(n+p)/4|        request-length
  965.    4    COLORMAP        cmap
  966.    4    CARD32            pixel
  967.    2    n            length-of-name
  968.    2    x            unused
  969.    n    STRING8            name
  970.    p    x            unused
  971. )
  972.  
  973. (x-request QueryColors
  974.    1    91            opcode
  975.    1    x            unused
  976.    2    2+n            request-length
  977.    4    COLORMAP        cmap
  978.   4n    LISTofCARD32        pixels
  979. )
  980.  
  981. (x-request LookupColor
  982.    1    92            opcode
  983.    1    x            unused
  984.    2    |3+(n+p)/4|        request-length
  985.    4    COLORMAP        cmap
  986.    2    n            length-of-name
  987.    2    x            unused
  988.    n    STRING8            name
  989.    p    x            unused
  990. )
  991.  
  992. (x-request CreateCursor
  993.    1    93            opcode
  994.    1    x            unused
  995.    2    8            request-length
  996.    4    CURSOR            cid
  997.    4    PIXMAP            source
  998.    4    (OR (MEMBER none) PIXMAP) mask
  999.    2    CARD16            fore-red
  1000.    2    CARD16            fore-green
  1001.    2    CARD16            fore-blue
  1002.    2    CARD16            back-red
  1003.    2    CARD16            back-green
  1004.    2    CARD16            back-blue
  1005.    2    CARD16            x
  1006.    2    CARD16            y
  1007. )
  1008.  
  1009. (x-request CreateGlyphCursor
  1010.    1    94            CreateGlyphCursor
  1011.    1    x            unused
  1012.    2    8            request-length
  1013.    4    CURSOR            cid
  1014.    4    FONT            source-font
  1015.    4    (OR (MEMBER none) FONT)    mask-font
  1016.    2    CARD16            source-char
  1017.    2    CARD16            mask-char
  1018.    2    CARD16            fore-red
  1019.    2    CARD16            fore-green
  1020.    2    CARD16            fore-blue
  1021.    2    CARD16            back-red
  1022.    2    CARD16            back-green
  1023.    2    CARD16            back-blue
  1024. )
  1025.  
  1026. (x-request FreeCursor
  1027.    1    95            opcode
  1028.    1    x            unused
  1029.    2    2            request-length
  1030.    4    CURSOR            cursor
  1031. )
  1032.  
  1033. (x-request RecolorCursor
  1034.    1    96            opcode
  1035.    1    x            unused
  1036.    2    5            request-length
  1037.    4    CURSOR            cursor
  1038.    2    CARD16            fore-red
  1039.    2    CARD16            fore-green
  1040.    2    CARD16            fore-blue
  1041.    2    CARD16            back-red
  1042.    2    CARD16            back-green
  1043.    2    CARD16            back-blue
  1044. )
  1045.  
  1046. (x-request QueryBestSize
  1047.    1    97            opcode
  1048.    1    (MEMBER cursor tile stipple) class
  1049.    2    3            request-length
  1050.    4    DRAWABLE        drawable
  1051.    2    CARD16            width
  1052.    2    CARD16            height
  1053. )
  1054.  
  1055. (x-request QueryExtension
  1056.    1    98            opcode
  1057.    1    x            unused
  1058.    2    |2+(n+p)/4|        request-length
  1059.    2    n            length-of-name
  1060.    2    x            unused
  1061.    n    STRING8            name
  1062.    p    x            unused
  1063. )
  1064.  
  1065. (x-request ListExtensions
  1066.    1    99            opcode
  1067.    1    x            unused
  1068.    2    1            request-length
  1069. )
  1070.  
  1071. (x-request SetKeyboardMapping
  1072.    1    100            opcode
  1073.    1    n            keycode-count
  1074.    2    2+nm            request-length
  1075.    1    KEYCODE            first-keycode
  1076.    1    m            keysyms-per-keycode
  1077.    2    x            unused
  1078.  4nm    LISTofKEYSYM        keysyms
  1079. )
  1080.  
  1081. (x-request GetKeyboardMapping
  1082.    1    101            opcode
  1083.    1    x            unused
  1084.    2    2            request-length
  1085.    1    KEYCODE            first-keycode
  1086.    1    CARD8            count
  1087.    2    x            unused
  1088. )
  1089.  
  1090. (x-request ChangeKeyboardControl
  1091.    1    102            opcode
  1092.    1    x            unused
  1093.    2    2+n            request-length
  1094.    4    BITMASK            value-mask
  1095.   4n    LISTofVALUE        value-list
  1096. )
  1097.  
  1098. (x-request GetKeyboardControl
  1099.    1    103            opcode
  1100.    1    x            unused
  1101.    2    1            request-length
  1102. )
  1103.  
  1104. (x-request Bell
  1105.    1    104            opcode
  1106.    1    INT8            percent
  1107.    2    1            request-length
  1108. )
  1109.  
  1110. (x-request ChangePointerControl
  1111.    1    105            opcode
  1112.    1    x            unused
  1113.    2    3            request-length
  1114.    2    INT16            acceleration-numerator
  1115.    2    INT16            acceleration-denominator
  1116.    2    INT16            threshold
  1117.    1    BOOL            do-acceleration
  1118.    1    BOOL            do-threshold
  1119. )
  1120.  
  1121. (x-request GetPointerControl
  1122.    1    106            GetPointerControl
  1123.    1    x            unused
  1124.    2    1            request-length
  1125. )
  1126.  
  1127. (x-request SetScreenSaver
  1128.    1    107            opcode
  1129.    1    x            unused
  1130.    2    3            request-length
  1131.    2    INT16            timeout
  1132.    2    INT16            interval
  1133.    1    (MEMBER no yes default)    prefer-blanking
  1134.    1    (MEMBER no yes default)    allow-exposures
  1135.    2    x            unused
  1136. )
  1137.  
  1138. (x-request GetScreenSaver
  1139.    1    108            opcode
  1140.    1    x            unused
  1141.    2    1            request-length
  1142. )
  1143.  
  1144. (x-request ChangeHosts
  1145.    1    109            opcode
  1146.    1    (MEMBER insert delete)    mode
  1147.    2    |2+(n+p)/4|        request-length
  1148.    1    (MEMBER internet decnet chaos) family
  1149.    1    x            unused
  1150.    2    CARD16            length-of-address
  1151.    n    LISTofCARD8        address
  1152.    p    x            unused
  1153. )
  1154.  
  1155. (x-request ListHosts
  1156.    1    110            opcode
  1157.    1    x            unused
  1158.    2    1            request-length
  1159. )
  1160.  
  1161. (x-request ChangeAccessControl
  1162.    1    111            opcode
  1163.    1    (MEMBER disable enable)    mode
  1164.    2    1            request-length
  1165. )
  1166.  
  1167. (x-request ChangeCloseDownMode
  1168.    1    112            opcode
  1169.    1    (MEMBER destroy retainpermanent retaintemporary) mode
  1170.    2    1            request-length
  1171. )
  1172.  
  1173. (x-request KillClient
  1174.    1    113            opcode
  1175.    1    x            unused
  1176.    2    2            request-length
  1177.    4    (MEMBER alltemporary CARD32) resource
  1178. )
  1179.  
  1180. (x-request RotateProperties
  1181.    1    114            opcode
  1182.    1    x            unused
  1183.    2    3+n            request-length
  1184.    4    WINDOW            window
  1185.    2    n            number-of-properties
  1186.    2    INT16            delta
  1187.   4n    LISTofATOM        properties
  1188. )
  1189.  
  1190. (x-request ForceScreenSaver
  1191.    1    115            ForceScreenSaver
  1192.    1    (MEMBER reset activate)    mode
  1193.    2    1            request-length
  1194. )
  1195.  
  1196. (x-request SetPointerMapping
  1197.    1    116            opcode
  1198.    1    n            length-of-map
  1199.    2    |1+(n+p)/4|        request-length
  1200.    n    LISTofCARD8        map
  1201.    p    x            unused
  1202. )
  1203.  
  1204. (x-request GetPointerMapping
  1205.    1    117            opcode
  1206.    1    x            unused
  1207.    2    1            request-length
  1208. )
  1209.  
  1210. (x-request SetModifierMapping
  1211.    1    118            opcode
  1212.    1    KEYCODE            Lock
  1213.    2    5            request-length
  1214.    1    KEYCODE            Shift_A
  1215.    1    KEYCODE            Shift_B
  1216.    1    KEYCODE            Control_A
  1217.    1    KEYCODE            Control_B
  1218.    1    KEYCODE            Mod1_A
  1219.    1    KEYCODE            Mod1_B
  1220.    1    KEYCODE            Mod2_A
  1221.    1    KEYCODE            Mod2_B
  1222.    1    KEYCODE            Mod3_A
  1223.    1    KEYCODE            Mod3_B
  1224.    1    KEYCODE            Mod4_A
  1225.    1    KEYCODE            Mod4_B
  1226.    1    KEYCODE            Mod5_A
  1227.    1    KEYCODE            Mod5_B
  1228.    2    x            unused
  1229. )
  1230.  
  1231. (x-request GetModifierMapping
  1232.    1    119            opcode
  1233.    1    x            unused
  1234.    2    1            request-length
  1235. )
  1236.  
  1237. #+comment
  1238. (x-request NoOperation
  1239.    1    127            opcode
  1240.    1    x            unused
  1241.    2    1            request-length
  1242. )
  1243. ;; End of file
  1244.